package com.sinothk.gpserver.modules.biz.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sinothk.gpserver.modules.biz.entity.RoomEntity;
import com.sinothk.gpserver.modules.biz.entity.RoomVo;
import com.sinothk.server.support.entity.PageData;
import com.sinothk.server.support.entity.PageVo;

/**
 * <p>
 * 房间相关 服务类
 * </p>
 *
 * @author Liang Y.t.
 * @since 2021-08-30
 */
public interface IRoomService extends IService<RoomEntity> {

    /**
     * 查询分页数据
     *
     * @param pageVo 分页参数
     * @return PageData
     */
    PageData<RoomEntity> page(PageVo<RoomEntity> pageVo);


    RoomEntity getRoomEntityByRoomNum(String roomNum);

    RoomEntity create(RoomVo room);

    PageData<RoomEntity> pageForGroupMember(PageVo<RoomEntity> pageVo);

    PageData<RoomEntity> pageForGroupId(PageVo<RoomEntity> pageVo);

    PageData<RoomEntity> page7CardsForGroupMember(PageVo<RoomEntity> pageVo);

    void initImRoom(RoomEntity room);

    RoomEntity retrieveByRoomNum(String roomNum);

    void removeRoom(String roomNum);

    RoomEntity copy(String roomNum);

}
